home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / cpbequ.z / cpbequ
Text File  |  1998-10-30  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))                                                          CCCCPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CPBEQU - compute row and column scalings intended to equilibrate a
  10.      Hermitian positive definite band matrix A and reduce its condition number
  11.      (with respect to the two-norm)
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE CPBEQU( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO )
  15.  
  16.          CHARACTER      UPLO
  17.  
  18.          INTEGER        INFO, KD, LDAB, N
  19.  
  20.          REAL           AMAX, SCOND
  21.  
  22.          REAL           S( * )
  23.  
  24.          COMPLEX        AB( LDAB, * )
  25.  
  26. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  27.      CPBEQU computes row and column scalings intended to equilibrate a
  28.      Hermitian positive definite band matrix A and reduce its condition number
  29.      (with respect to the two-norm).  S contains the scale factors, S(i) =
  30.      1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) =
  31.      S(i)*A(i,j)*S(j) has ones on the diagonal.  This choice of S puts the
  32.      condition number of B within a factor N of the smallest possible
  33.      condition number over all possible diagonal scalings.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      UPLO    (input) CHARACTER*1
  38.              = 'U':  Upper triangular of A is stored;
  39.              = 'L':  Lower triangular of A is stored.
  40.  
  41.      N       (input) INTEGER
  42.              The order of the matrix A.  N >= 0.
  43.  
  44.      KD      (input) INTEGER
  45.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  46.              the number of subdiagonals if UPLO = 'L'.  KD >= 0.
  47.  
  48.      AB      (input) COMPLEX array, dimension (LDAB,N)
  49.              The upper or lower triangle of the Hermitian band matrix A,
  50.              stored in the first KD+1 rows of the array.  The j-th column of A
  51.              is stored in the j-th column of the array AB as follows:  if UPLO
  52.              = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; if UPLO =
  53.              'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).
  54.  
  55.      LDAB     (input) INTEGER
  56.               The leading dimension of the array A.  LDAB >= KD+1.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))                                                          CCCCPPPPBBBBEEEEQQQQUUUU((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      S       (output) REAL array, dimension (N)
  75.              If INFO = 0, S contains the scale factors for A.
  76.  
  77.      SCOND   (output) REAL
  78.              If INFO = 0, S contains the ratio of the smallest S(i) to the
  79.              largest S(i).  If SCOND >= 0.1 and AMAX is neither too large nor
  80.              too small, it is not worth scaling by S.
  81.  
  82.      AMAX    (output) REAL
  83.              Absolute value of largest matrix element.  If AMAX is very close
  84.              to overflow or very close to underflow, the matrix should be
  85.              scaled.
  86.  
  87.      INFO    (output) INTEGER
  88.              = 0:  successful exit
  89.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  90.              > 0:  if INFO = i, the i-th diagonal element is nonpositive.
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.